package com.android.support.lib.universal.view.dialog;

import com.android.support.lib.universal.R;
import com.android.support.lib.universal.listenner.ListennerLi;

import android.annotation.SuppressLint;
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.RelativeLayout;

/**
 * 性别弹窗
 * 
 * @author 彭治铭
 *
 */
public class AlertDialogGender implements OnClickListener {
	Context context;
	android.app.AlertDialog dialog;
	RelativeLayout relative_man, relative_woman;
	RadioButton radio_man,radio_woman;
	int man = 1;// 男性
	int woman = 2;// 女性
	ListennerLi listennerli;// 回调函数

	@SuppressLint("NewApi")
	/**
	 * 
	 * @param context
	 * @param bool false(按对话框以外的地方不起作用,即不会消失)，true(按其他区域会消失)。按返回键还起作用
	 * @param gender 当前性别， 1为男，2为女
	 * @param listennerli 回调函数new ListennerLi()，重寫OnResult()方法。 男返回 1，女返回2。
	 */
	public AlertDialogGender(Context context, Boolean bool, int gender,
			final ListennerLi listennerli) {
		super();
		// TODO Auto-generated constructor stub
		this.context = context;
		this.listennerli = listennerli;

		dialog = new android.app.AlertDialog.Builder(context, R.style.Dialog).create();// R.style.Dialog为布局主题，也可以用0
		dialog.show();
		dialog.setCanceledOnTouchOutside(bool);// 调用这个方法时，按对话框以外的地方不起作用。按返回键还起作用
		Window window = dialog.getWindow();
		window.setContentView(R.layout.lib_alertdialog_gender);// 弹出框的布局
		relative_man = (RelativeLayout) window.findViewById(R.id.relative_man);
		relative_woman = (RelativeLayout) window
				.findViewById(R.id.relative_woman);
		radio_man=(RadioButton) window
				.findViewById(R.id.radio_man);
		radio_woman=(RadioButton) window
				.findViewById(R.id.radio_woman);

		relative_man.setOnClickListener(this);
		relative_woman.setOnClickListener(this);
		radio_man.setOnClickListener(this);
		radio_woman.setOnClickListener(this);
		selecGender(gender);
	}

	/**
	 * 性别选择
	 * @param gender
	 */
	public void selecGender(int gender){
		if (gender == 1) {
			radio_man.setChecked(true);
			radio_woman.setChecked(false);
		} else {
			radio_man.setChecked(false);
			radio_woman.setChecked(true);
		}
	}
	
	/**
	 * 关闭对话框
	 */
	public void dismiss() {
		dialog.dismiss();
	}

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		if (v.getId() == R.id.relative_man||v.getId() ==R.id.radio_man) {// 男
			listennerli.OnResult(man);
			selecGender(1);
		}
		if (v.getId() == R.id.relative_woman||v.getId() ==R.id.radio_woman) {// 女
			selecGender(2);
			listennerli.OnResult(woman);
		}
		dismiss();
	}

}
